/*
 *
 *    Copyright (c) 2022 Project CHIP Authors
 *
 *    Licensed under the Apache License, Version 2.0 (the "License");
 *    you may not use this file except in compliance with the License.
 *    You may obtain a copy of the License at
 *
 *        http://www.apache.org/licenses/LICENSE-2.0
 *
 *    Unless required by applicable law or agreed to in writing, software
 *    distributed under the License is distributed on an "AS IS" BASIS,
 *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *    See the License for the specific language governing permissions and
 *    limitations under the License.
 */

// THIS FILE IS GENERATED BY ZAP

#import "MCInteractionModelStructs.h"

#import "../MCAttribute.h"
#import <Foundation/Foundation.h>

#ifndef MCAttributeObjects_h
#define MCAttributeObjects_h

// OnOff cluster attributes:

@interface MCOnOffClusterOnOffAttribute : MCAttribute <NSNumber *>
@end

@interface MCOnOffClusterGlobalSceneControlAttribute : MCAttribute <NSNumber *>
@end

@interface MCOnOffClusterOnTimeAttribute : MCAttribute <NSNumber *>
@end

@interface MCOnOffClusterOffWaitTimeAttribute : MCAttribute <NSNumber *>
@end

@interface MCOnOffClusterStartUpOnOffAttribute : MCAttribute <NSNumber *>
@end

@interface MCOnOffClusterGeneratedCommandListAttribute : MCAttribute <NSArray *>
@end

@interface MCOnOffClusterAcceptedCommandListAttribute : MCAttribute <NSArray *>
@end

@interface MCOnOffClusterAttributeListAttribute : MCAttribute <NSArray *>
@end

@interface MCOnOffClusterFeatureMapAttribute : MCAttribute <NSNumber *>
@end

@interface MCOnOffClusterClusterRevisionAttribute : MCAttribute <NSNumber *>
@end

// LevelControl cluster attributes:

@interface MCLevelControlClusterCurrentLevelAttribute : MCAttribute <NSNumber *>
@end

@interface MCLevelControlClusterRemainingTimeAttribute : MCAttribute <NSNumber *>
@end

@interface MCLevelControlClusterMinLevelAttribute : MCAttribute <NSNumber *>
@end

@interface MCLevelControlClusterMaxLevelAttribute : MCAttribute <NSNumber *>
@end

@interface MCLevelControlClusterCurrentFrequencyAttribute : MCAttribute <NSNumber *>
@end

@interface MCLevelControlClusterMinFrequencyAttribute : MCAttribute <NSNumber *>
@end

@interface MCLevelControlClusterMaxFrequencyAttribute : MCAttribute <NSNumber *>
@end

@interface MCLevelControlClusterOptionsAttribute : MCAttribute <NSNumber *>
@end

@interface MCLevelControlClusterOnOffTransitionTimeAttribute : MCAttribute <NSNumber *>
@end

@interface MCLevelControlClusterOnLevelAttribute : MCAttribute <NSNumber *>
@end

@interface MCLevelControlClusterOnTransitionTimeAttribute : MCAttribute <NSNumber *>
@end

@interface MCLevelControlClusterOffTransitionTimeAttribute : MCAttribute <NSNumber *>
@end

@interface MCLevelControlClusterDefaultMoveRateAttribute : MCAttribute <NSNumber *>
@end

@interface MCLevelControlClusterStartUpCurrentLevelAttribute : MCAttribute <NSNumber *>
@end

@interface MCLevelControlClusterGeneratedCommandListAttribute : MCAttribute <NSArray *>
@end

@interface MCLevelControlClusterAcceptedCommandListAttribute : MCAttribute <NSArray *>
@end

@interface MCLevelControlClusterAttributeListAttribute : MCAttribute <NSArray *>
@end

@interface MCLevelControlClusterFeatureMapAttribute : MCAttribute <NSNumber *>
@end

@interface MCLevelControlClusterClusterRevisionAttribute : MCAttribute <NSNumber *>
@end

// WakeOnLan cluster attributes:

@interface MCWakeOnLanClusterMACAddressAttribute : MCAttribute <NSString *>
@end

@interface MCWakeOnLanClusterLinkLocalAddressAttribute : MCAttribute <NSData *>
@end

@interface MCWakeOnLanClusterGeneratedCommandListAttribute : MCAttribute <NSArray *>
@end

@interface MCWakeOnLanClusterAcceptedCommandListAttribute : MCAttribute <NSArray *>
@end

@interface MCWakeOnLanClusterAttributeListAttribute : MCAttribute <NSArray *>
@end

@interface MCWakeOnLanClusterFeatureMapAttribute : MCAttribute <NSNumber *>
@end

@interface MCWakeOnLanClusterClusterRevisionAttribute : MCAttribute <NSNumber *>
@end

// TargetNavigator cluster attributes:

@interface MCTargetNavigatorClusterTargetListAttribute : MCAttribute <NSArray *>
@end

@interface MCTargetNavigatorClusterCurrentTargetAttribute : MCAttribute <NSNumber *>
@end

@interface MCTargetNavigatorClusterGeneratedCommandListAttribute : MCAttribute <NSArray *>
@end

@interface MCTargetNavigatorClusterAcceptedCommandListAttribute : MCAttribute <NSArray *>
@end

@interface MCTargetNavigatorClusterAttributeListAttribute : MCAttribute <NSArray *>
@end

@interface MCTargetNavigatorClusterFeatureMapAttribute : MCAttribute <NSNumber *>
@end

@interface MCTargetNavigatorClusterClusterRevisionAttribute : MCAttribute <NSNumber *>
@end

// MediaPlayback cluster attributes:

@interface MCMediaPlaybackClusterCurrentStateAttribute : MCAttribute <NSNumber *>
@end

@interface MCMediaPlaybackClusterStartTimeAttribute : MCAttribute <NSNumber *>
@end

@interface MCMediaPlaybackClusterDurationAttribute : MCAttribute <NSNumber *>
@end

@interface MCMediaPlaybackClusterSampledPositionAttribute : MCAttribute <MCMediaPlaybackClusterPlaybackPositionStruct *>
@end

@interface MCMediaPlaybackClusterPlaybackSpeedAttribute : MCAttribute <NSNumber *>
@end

@interface MCMediaPlaybackClusterSeekRangeEndAttribute : MCAttribute <NSNumber *>
@end

@interface MCMediaPlaybackClusterSeekRangeStartAttribute : MCAttribute <NSNumber *>
@end

@interface MCMediaPlaybackClusterActiveAudioTrackAttribute : MCAttribute <MCMediaPlaybackClusterTrackStruct *>
@end

@interface MCMediaPlaybackClusterAvailableAudioTracksAttribute : MCAttribute <NSArray *>
@end

@interface MCMediaPlaybackClusterActiveTextTrackAttribute : MCAttribute <MCMediaPlaybackClusterTrackStruct *>
@end

@interface MCMediaPlaybackClusterAvailableTextTracksAttribute : MCAttribute <NSArray *>
@end

@interface MCMediaPlaybackClusterGeneratedCommandListAttribute : MCAttribute <NSArray *>
@end

@interface MCMediaPlaybackClusterAcceptedCommandListAttribute : MCAttribute <NSArray *>
@end

@interface MCMediaPlaybackClusterAttributeListAttribute : MCAttribute <NSArray *>
@end

@interface MCMediaPlaybackClusterFeatureMapAttribute : MCAttribute <NSNumber *>
@end

@interface MCMediaPlaybackClusterClusterRevisionAttribute : MCAttribute <NSNumber *>
@end

// KeypadInput cluster attributes:

@interface MCKeypadInputClusterGeneratedCommandListAttribute : MCAttribute <NSArray *>
@end

@interface MCKeypadInputClusterAcceptedCommandListAttribute : MCAttribute <NSArray *>
@end

@interface MCKeypadInputClusterAttributeListAttribute : MCAttribute <NSArray *>
@end

@interface MCKeypadInputClusterFeatureMapAttribute : MCAttribute <NSNumber *>
@end

@interface MCKeypadInputClusterClusterRevisionAttribute : MCAttribute <NSNumber *>
@end

// ContentLauncher cluster attributes:

@interface MCContentLauncherClusterAcceptHeaderAttribute : MCAttribute <NSArray *>
@end

@interface MCContentLauncherClusterSupportedStreamingProtocolsAttribute : MCAttribute <NSNumber *>
@end

@interface MCContentLauncherClusterGeneratedCommandListAttribute : MCAttribute <NSArray *>
@end

@interface MCContentLauncherClusterAcceptedCommandListAttribute : MCAttribute <NSArray *>
@end

@interface MCContentLauncherClusterAttributeListAttribute : MCAttribute <NSArray *>
@end

@interface MCContentLauncherClusterFeatureMapAttribute : MCAttribute <NSNumber *>
@end

@interface MCContentLauncherClusterClusterRevisionAttribute : MCAttribute <NSNumber *>
@end

// ApplicationLauncher cluster attributes:

@interface MCApplicationLauncherClusterCatalogListAttribute : MCAttribute <NSArray *>
@end

@interface MCApplicationLauncherClusterCurrentAppAttribute : MCAttribute <MCApplicationLauncherClusterApplicationEPStruct *>
@end

@interface MCApplicationLauncherClusterGeneratedCommandListAttribute : MCAttribute <NSArray *>
@end

@interface MCApplicationLauncherClusterAcceptedCommandListAttribute : MCAttribute <NSArray *>
@end

@interface MCApplicationLauncherClusterAttributeListAttribute : MCAttribute <NSArray *>
@end

@interface MCApplicationLauncherClusterFeatureMapAttribute : MCAttribute <NSNumber *>
@end

@interface MCApplicationLauncherClusterClusterRevisionAttribute : MCAttribute <NSNumber *>
@end

// ApplicationBasic cluster attributes:

@interface MCApplicationBasicClusterVendorNameAttribute : MCAttribute <NSString *>
@end

@interface MCApplicationBasicClusterVendorIDAttribute : MCAttribute <NSNumber *>
@end

@interface MCApplicationBasicClusterApplicationNameAttribute : MCAttribute <NSString *>
@end

@interface MCApplicationBasicClusterProductIDAttribute : MCAttribute <NSNumber *>
@end

@interface MCApplicationBasicClusterApplicationAttribute : MCAttribute <MCApplicationBasicClusterApplicationStruct *>
@end

@interface MCApplicationBasicClusterStatusAttribute : MCAttribute <NSNumber *>
@end

@interface MCApplicationBasicClusterApplicationVersionAttribute : MCAttribute <NSString *>
@end

@interface MCApplicationBasicClusterAllowedVendorListAttribute : MCAttribute <NSArray *>
@end

@interface MCApplicationBasicClusterGeneratedCommandListAttribute : MCAttribute <NSArray *>
@end

@interface MCApplicationBasicClusterAcceptedCommandListAttribute : MCAttribute <NSArray *>
@end

@interface MCApplicationBasicClusterAttributeListAttribute : MCAttribute <NSArray *>
@end

@interface MCApplicationBasicClusterFeatureMapAttribute : MCAttribute <NSNumber *>
@end

@interface MCApplicationBasicClusterClusterRevisionAttribute : MCAttribute <NSNumber *>
@end

#endif /* MCAttributeObjects_h */
